package com.open.system.mapper;

import com.open.base.model.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 角色信息 Mapper
 *
 * @author ：大树03
 * @date 2025-02-01 22:55
 */

public interface RoleMapper{

	/**
	 * 添加对象
	 * @param model
	 * @return boolean
	 * @
	 * @date 2025-02-01 22:55
	 */
	Boolean save(Role model) ;

	/**
	 * 修改对象
	 * @param model
	 * @return boolean
	 * @
	 * @date 2025-02-01 22:55
	 */
	Boolean update(Role model) ;

	/**
	 * 批量添加对象
	 * @param models
	 * @return boolean
	 * @date 2025-08-14 16:02
	 */
	Boolean batchSave(@Param("models") List<Role> models);

	/**
	 * 批量修改对象
	 * @param models
	 * @return boolean
	 * @date 2025-08-14 16:02
	 */
	Boolean batchUpdate(@Param("models") List<Role> models);

	/**
	 * 根据主键查询
	 * @param pk
	 * @return  Role
	 * @ 
	 * @date 2025-02-01 22:55
	 */
	Role findByPk(Long pk);

	/**
	 * 分页查询
	 *
	 * @param map
	 * @return
	 * @
	 */
	List<Role> findPage(Map<String, Object> map) ;

	/**
	 * 根据条件查询记录数
	 *
	 * @param map
	 * @return Integer
	 * @
	 */
	Integer findPageCount(Map<String, Object> map) ;

	/**
	 * 根据条件查询
	 *
	 * @param map
	 * @return
	 * @
	 */
	List<Role> findByModel(Map<String, Object> map);

	/**
	 * 根据主键删除
	 * @param pk
	 * @return int
	 * @ 
	 * @date 2025-02-01 22:55
	 */
	int remove(Long pk);

	List<Role> findByUserId(Long userId);
}